/**
 * Copyright &copy; 2020 <a href="https://github.com/somowhere/exam-system">exam-system</a> All rights reserved.
 */
package com.shanhesoft.java.modules.exam.domain;

import lombok.*;
import com.baomidou.mybatisplus.annotation.*;
import com.shanhesoft.java.common.core.annotation.DictType;
import com.shanhesoft.java.common.persistence.domain.IdEntity;

import javax.validation.constraints.Size;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

import java.time.LocalDateTime;

import javax.validation.constraints.*;

/**
 * 课程实训题目实例管理Entity 课程实训题目实例管理
 * @author admin
 * @version 2020-11-17 01:04:34
 */
@TableName(value = "t_virtual_training_detail_instance")
@Data @ToString @NoArgsConstructor @AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class VirtualTrainingDetailInstance extends IdEntity<VirtualTrainingDetailInstance> {

	private static final long serialVersionUID = 1L;
	/** F_TRAINID train_id  :  实训编号 */
	public static final String F_TRAINID = "trainId";
	/** F_TRAINQUEID train_que_id  :  实验编号 */
	public static final String F_TRAINQUEID = "trainQueId";
	/** F_USERID user_id  :  用户编号 */
	public static final String F_USERID = "userId";
	/** F_REPORT report  :  实验报告 */
	public static final String F_REPORT = "report";
	/** F_MATERIAL material  :  实验素材/完成结果 */
	public static final String F_MATERIAL = "material";
	/** F_ANSWER answer  :  实验答案 */
	public static final String F_ANSWER = "answer";
	/** F_REMAININGTIME remaining_time  :  剩余时间 */
	public static final String F_REMAININGTIME = "remainingTime";
	public static final String F_CONTAINERID = "containerId";
	public static final String F_CONTAINERSTARTTIME = "containerStartTime";
	public static final String F_CONTAINERSTATE = "containerState";
	public static final String F_CONTAINERIP = "containerIp";


	/** trainId 实训编号 */@NotBlank @Size(max=50)
	@TableField("train_id")
	private String trainId;
	/** trainQueId 实验编号 */@NotBlank @Size(max=50)
	@TableField("train_que_id")
	private String trainQueId;
	/** userId 用户编号 */@NotBlank @Size(max=50)
	@TableField("user_id")
	private String userId;
	/** report 实验报告 */@Size(max=65535)

	private String report;
	/** material 实验素材/完成结果 */@Size(max=200)

	private String material;
	/** answer 实验答案 */@Size(max=200)

	private String answer;
	/** remainingTime 剩余时间 */@NotNull
	@TableField("remaining_time")
	private Integer remainingTime;

	/**
	 * 容器编号
	 */
	@TableField("container_id")
	private String containerId;

	/**
	 * 容器开始运行时间
	 */
	@TableField("container_start_time")
	private LocalDateTime containerStartTime;

	/**
	 * 容器状态
	 */
	@TableField("container_state")
	private String containerState;

	/**
	 * 容器IP
	 */
	@TableField("container_ip")
	private String containerIp;


	@Override
    public boolean equals(Object o) {
        return super.equals(o);
    }
    @Override
    public int hashCode() {
        return super.hashCode();
    }
}
